from1(X) -> cons2(X, n__from1(n__s1(X)))
2ndspos2(0, Z) -> rnil
2ndspos2(s1(N), cons2(X, Z)) -> 2ndspos2(s1(N), cons22(X, activate1(Z)))
2ndspos2(s1(N), cons22(X, cons2(Y, Z))) -> rcons2(posrecip1(Y), 2ndsneg2(N, activate1(Z)))
2ndsneg2(0, Z) -> rnil
2ndsneg2(s1(N), cons2(X, Z)) -> 2ndsneg2(s1(N), cons22(X, activate1(Z)))
2ndsneg2(s1(N), cons22(X, cons2(Y, Z))) -> rcons2(negrecip1(Y), 2ndspos2(N, activate1(Z)))
pi1(X) -> 2ndspos2(X, from1(0))
plus2(0, Y) -> Y
plus2(s1(X), Y) -> s1(plus2(X, Y))
times2(0, Y) -> 0
times2(s1(X), Y) -> plus2(Y, times2(X, Y))
square1(X) -> times2(X, X)
from1(X) -> n__from1(X)
s1(X) -> n__s1(X)
activate1(n__from1(X)) -> from1(activate1(X))
activate1(n__s1(X)) -> s1(activate1(X))
activate1(X) -> X
↳ QTRS
↳ DependencyPairsProof
from1(X) -> cons2(X, n__from1(n__s1(X)))
2ndspos2(0, Z) -> rnil
2ndspos2(s1(N), cons2(X, Z)) -> 2ndspos2(s1(N), cons22(X, activate1(Z)))
2ndspos2(s1(N), cons22(X, cons2(Y, Z))) -> rcons2(posrecip1(Y), 2ndsneg2(N, activate1(Z)))
2ndsneg2(0, Z) -> rnil
2ndsneg2(s1(N), cons2(X, Z)) -> 2ndsneg2(s1(N), cons22(X, activate1(Z)))
2ndsneg2(s1(N), cons22(X, cons2(Y, Z))) -> rcons2(negrecip1(Y), 2ndspos2(N, activate1(Z)))
pi1(X) -> 2ndspos2(X, from1(0))
plus2(0, Y) -> Y
plus2(s1(X), Y) -> s1(plus2(X, Y))
times2(0, Y) -> 0
times2(s1(X), Y) -> plus2(Y, times2(X, Y))
square1(X) -> times2(X, X)
from1(X) -> n__from1(X)
s1(X) -> n__s1(X)
activate1(n__from1(X)) -> from1(activate1(X))
activate1(n__s1(X)) -> s1(activate1(X))
activate1(X) -> X
2NDSNEG2(s1(N), cons22(X, cons2(Y, Z))) -> 2NDSPOS2(N, activate1(Z))
PLUS2(s1(X), Y) -> S1(plus2(X, Y))
2NDSPOS2(s1(N), cons22(X, cons2(Y, Z))) -> ACTIVATE1(Z)
2NDSNEG2(s1(N), cons22(X, cons2(Y, Z))) -> ACTIVATE1(Z)
SQUARE1(X) -> TIMES2(X, X)
PI1(X) -> FROM1(0)
2NDSPOS2(s1(N), cons2(X, Z)) -> 2NDSPOS2(s1(N), cons22(X, activate1(Z)))
ACTIVATE1(n__from1(X)) -> FROM1(activate1(X))
PI1(X) -> 2NDSPOS2(X, from1(0))
PLUS2(s1(X), Y) -> PLUS2(X, Y)
TIMES2(s1(X), Y) -> PLUS2(Y, times2(X, Y))
ACTIVATE1(n__s1(X)) -> S1(activate1(X))
TIMES2(s1(X), Y) -> TIMES2(X, Y)
2NDSPOS2(s1(N), cons22(X, cons2(Y, Z))) -> 2NDSNEG2(N, activate1(Z))
2NDSNEG2(s1(N), cons2(X, Z)) -> 2NDSNEG2(s1(N), cons22(X, activate1(Z)))
2NDSNEG2(s1(N), cons2(X, Z)) -> ACTIVATE1(Z)
2NDSPOS2(s1(N), cons2(X, Z)) -> ACTIVATE1(Z)
ACTIVATE1(n__from1(X)) -> ACTIVATE1(X)
ACTIVATE1(n__s1(X)) -> ACTIVATE1(X)
from1(X) -> cons2(X, n__from1(n__s1(X)))
2ndspos2(0, Z) -> rnil
2ndspos2(s1(N), cons2(X, Z)) -> 2ndspos2(s1(N), cons22(X, activate1(Z)))
2ndspos2(s1(N), cons22(X, cons2(Y, Z))) -> rcons2(posrecip1(Y), 2ndsneg2(N, activate1(Z)))
2ndsneg2(0, Z) -> rnil
2ndsneg2(s1(N), cons2(X, Z)) -> 2ndsneg2(s1(N), cons22(X, activate1(Z)))
2ndsneg2(s1(N), cons22(X, cons2(Y, Z))) -> rcons2(negrecip1(Y), 2ndspos2(N, activate1(Z)))
pi1(X) -> 2ndspos2(X, from1(0))
plus2(0, Y) -> Y
plus2(s1(X), Y) -> s1(plus2(X, Y))
times2(0, Y) -> 0
times2(s1(X), Y) -> plus2(Y, times2(X, Y))
square1(X) -> times2(X, X)
from1(X) -> n__from1(X)
s1(X) -> n__s1(X)
activate1(n__from1(X)) -> from1(activate1(X))
activate1(n__s1(X)) -> s1(activate1(X))
activate1(X) -> X
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
2NDSNEG2(s1(N), cons22(X, cons2(Y, Z))) -> 2NDSPOS2(N, activate1(Z))
PLUS2(s1(X), Y) -> S1(plus2(X, Y))
2NDSPOS2(s1(N), cons22(X, cons2(Y, Z))) -> ACTIVATE1(Z)
2NDSNEG2(s1(N), cons22(X, cons2(Y, Z))) -> ACTIVATE1(Z)
SQUARE1(X) -> TIMES2(X, X)
PI1(X) -> FROM1(0)
2NDSPOS2(s1(N), cons2(X, Z)) -> 2NDSPOS2(s1(N), cons22(X, activate1(Z)))
ACTIVATE1(n__from1(X)) -> FROM1(activate1(X))
PI1(X) -> 2NDSPOS2(X, from1(0))
PLUS2(s1(X), Y) -> PLUS2(X, Y)
TIMES2(s1(X), Y) -> PLUS2(Y, times2(X, Y))
ACTIVATE1(n__s1(X)) -> S1(activate1(X))
TIMES2(s1(X), Y) -> TIMES2(X, Y)
2NDSPOS2(s1(N), cons22(X, cons2(Y, Z))) -> 2NDSNEG2(N, activate1(Z))
2NDSNEG2(s1(N), cons2(X, Z)) -> 2NDSNEG2(s1(N), cons22(X, activate1(Z)))
2NDSNEG2(s1(N), cons2(X, Z)) -> ACTIVATE1(Z)
2NDSPOS2(s1(N), cons2(X, Z)) -> ACTIVATE1(Z)
ACTIVATE1(n__from1(X)) -> ACTIVATE1(X)
ACTIVATE1(n__s1(X)) -> ACTIVATE1(X)
from1(X) -> cons2(X, n__from1(n__s1(X)))
2ndspos2(0, Z) -> rnil
2ndspos2(s1(N), cons2(X, Z)) -> 2ndspos2(s1(N), cons22(X, activate1(Z)))
2ndspos2(s1(N), cons22(X, cons2(Y, Z))) -> rcons2(posrecip1(Y), 2ndsneg2(N, activate1(Z)))
2ndsneg2(0, Z) -> rnil
2ndsneg2(s1(N), cons2(X, Z)) -> 2ndsneg2(s1(N), cons22(X, activate1(Z)))
2ndsneg2(s1(N), cons22(X, cons2(Y, Z))) -> rcons2(negrecip1(Y), 2ndspos2(N, activate1(Z)))
pi1(X) -> 2ndspos2(X, from1(0))
plus2(0, Y) -> Y
plus2(s1(X), Y) -> s1(plus2(X, Y))
times2(0, Y) -> 0
times2(s1(X), Y) -> plus2(Y, times2(X, Y))
square1(X) -> times2(X, X)
from1(X) -> n__from1(X)
s1(X) -> n__s1(X)
activate1(n__from1(X)) -> from1(activate1(X))
activate1(n__s1(X)) -> s1(activate1(X))
activate1(X) -> X
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
ACTIVATE1(n__from1(X)) -> ACTIVATE1(X)
ACTIVATE1(n__s1(X)) -> ACTIVATE1(X)
from1(X) -> cons2(X, n__from1(n__s1(X)))
2ndspos2(0, Z) -> rnil
2ndspos2(s1(N), cons2(X, Z)) -> 2ndspos2(s1(N), cons22(X, activate1(Z)))
2ndspos2(s1(N), cons22(X, cons2(Y, Z))) -> rcons2(posrecip1(Y), 2ndsneg2(N, activate1(Z)))
2ndsneg2(0, Z) -> rnil
2ndsneg2(s1(N), cons2(X, Z)) -> 2ndsneg2(s1(N), cons22(X, activate1(Z)))
2ndsneg2(s1(N), cons22(X, cons2(Y, Z))) -> rcons2(negrecip1(Y), 2ndspos2(N, activate1(Z)))
pi1(X) -> 2ndspos2(X, from1(0))
plus2(0, Y) -> Y
plus2(s1(X), Y) -> s1(plus2(X, Y))
times2(0, Y) -> 0
times2(s1(X), Y) -> plus2(Y, times2(X, Y))
square1(X) -> times2(X, X)
from1(X) -> n__from1(X)
s1(X) -> n__s1(X)
activate1(n__from1(X)) -> from1(activate1(X))
activate1(n__s1(X)) -> s1(activate1(X))
activate1(X) -> X
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
ACTIVATE1(n__s1(X)) -> ACTIVATE1(X)
Used ordering: Combined order from the following AFS and order.
ACTIVATE1(n__from1(X)) -> ACTIVATE1(X)
trivial
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
ACTIVATE1(n__from1(X)) -> ACTIVATE1(X)
from1(X) -> cons2(X, n__from1(n__s1(X)))
2ndspos2(0, Z) -> rnil
2ndspos2(s1(N), cons2(X, Z)) -> 2ndspos2(s1(N), cons22(X, activate1(Z)))
2ndspos2(s1(N), cons22(X, cons2(Y, Z))) -> rcons2(posrecip1(Y), 2ndsneg2(N, activate1(Z)))
2ndsneg2(0, Z) -> rnil
2ndsneg2(s1(N), cons2(X, Z)) -> 2ndsneg2(s1(N), cons22(X, activate1(Z)))
2ndsneg2(s1(N), cons22(X, cons2(Y, Z))) -> rcons2(negrecip1(Y), 2ndspos2(N, activate1(Z)))
pi1(X) -> 2ndspos2(X, from1(0))
plus2(0, Y) -> Y
plus2(s1(X), Y) -> s1(plus2(X, Y))
times2(0, Y) -> 0
times2(s1(X), Y) -> plus2(Y, times2(X, Y))
square1(X) -> times2(X, X)
from1(X) -> n__from1(X)
s1(X) -> n__s1(X)
activate1(n__from1(X)) -> from1(activate1(X))
activate1(n__s1(X)) -> s1(activate1(X))
activate1(X) -> X
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
ACTIVATE1(n__from1(X)) -> ACTIVATE1(X)
nfrom1 > ACTIVATE1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
from1(X) -> cons2(X, n__from1(n__s1(X)))
2ndspos2(0, Z) -> rnil
2ndspos2(s1(N), cons2(X, Z)) -> 2ndspos2(s1(N), cons22(X, activate1(Z)))
2ndspos2(s1(N), cons22(X, cons2(Y, Z))) -> rcons2(posrecip1(Y), 2ndsneg2(N, activate1(Z)))
2ndsneg2(0, Z) -> rnil
2ndsneg2(s1(N), cons2(X, Z)) -> 2ndsneg2(s1(N), cons22(X, activate1(Z)))
2ndsneg2(s1(N), cons22(X, cons2(Y, Z))) -> rcons2(negrecip1(Y), 2ndspos2(N, activate1(Z)))
pi1(X) -> 2ndspos2(X, from1(0))
plus2(0, Y) -> Y
plus2(s1(X), Y) -> s1(plus2(X, Y))
times2(0, Y) -> 0
times2(s1(X), Y) -> plus2(Y, times2(X, Y))
square1(X) -> times2(X, X)
from1(X) -> n__from1(X)
s1(X) -> n__s1(X)
activate1(n__from1(X)) -> from1(activate1(X))
activate1(n__s1(X)) -> s1(activate1(X))
activate1(X) -> X
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
PLUS2(s1(X), Y) -> PLUS2(X, Y)
from1(X) -> cons2(X, n__from1(n__s1(X)))
2ndspos2(0, Z) -> rnil
2ndspos2(s1(N), cons2(X, Z)) -> 2ndspos2(s1(N), cons22(X, activate1(Z)))
2ndspos2(s1(N), cons22(X, cons2(Y, Z))) -> rcons2(posrecip1(Y), 2ndsneg2(N, activate1(Z)))
2ndsneg2(0, Z) -> rnil
2ndsneg2(s1(N), cons2(X, Z)) -> 2ndsneg2(s1(N), cons22(X, activate1(Z)))
2ndsneg2(s1(N), cons22(X, cons2(Y, Z))) -> rcons2(negrecip1(Y), 2ndspos2(N, activate1(Z)))
pi1(X) -> 2ndspos2(X, from1(0))
plus2(0, Y) -> Y
plus2(s1(X), Y) -> s1(plus2(X, Y))
times2(0, Y) -> 0
times2(s1(X), Y) -> plus2(Y, times2(X, Y))
square1(X) -> times2(X, X)
from1(X) -> n__from1(X)
s1(X) -> n__s1(X)
activate1(n__from1(X)) -> from1(activate1(X))
activate1(n__s1(X)) -> s1(activate1(X))
activate1(X) -> X
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
PLUS2(s1(X), Y) -> PLUS2(X, Y)
[PLUS1, s1]
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
from1(X) -> cons2(X, n__from1(n__s1(X)))
2ndspos2(0, Z) -> rnil
2ndspos2(s1(N), cons2(X, Z)) -> 2ndspos2(s1(N), cons22(X, activate1(Z)))
2ndspos2(s1(N), cons22(X, cons2(Y, Z))) -> rcons2(posrecip1(Y), 2ndsneg2(N, activate1(Z)))
2ndsneg2(0, Z) -> rnil
2ndsneg2(s1(N), cons2(X, Z)) -> 2ndsneg2(s1(N), cons22(X, activate1(Z)))
2ndsneg2(s1(N), cons22(X, cons2(Y, Z))) -> rcons2(negrecip1(Y), 2ndspos2(N, activate1(Z)))
pi1(X) -> 2ndspos2(X, from1(0))
plus2(0, Y) -> Y
plus2(s1(X), Y) -> s1(plus2(X, Y))
times2(0, Y) -> 0
times2(s1(X), Y) -> plus2(Y, times2(X, Y))
square1(X) -> times2(X, X)
from1(X) -> n__from1(X)
s1(X) -> n__s1(X)
activate1(n__from1(X)) -> from1(activate1(X))
activate1(n__s1(X)) -> s1(activate1(X))
activate1(X) -> X
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
TIMES2(s1(X), Y) -> TIMES2(X, Y)
from1(X) -> cons2(X, n__from1(n__s1(X)))
2ndspos2(0, Z) -> rnil
2ndspos2(s1(N), cons2(X, Z)) -> 2ndspos2(s1(N), cons22(X, activate1(Z)))
2ndspos2(s1(N), cons22(X, cons2(Y, Z))) -> rcons2(posrecip1(Y), 2ndsneg2(N, activate1(Z)))
2ndsneg2(0, Z) -> rnil
2ndsneg2(s1(N), cons2(X, Z)) -> 2ndsneg2(s1(N), cons22(X, activate1(Z)))
2ndsneg2(s1(N), cons22(X, cons2(Y, Z))) -> rcons2(negrecip1(Y), 2ndspos2(N, activate1(Z)))
pi1(X) -> 2ndspos2(X, from1(0))
plus2(0, Y) -> Y
plus2(s1(X), Y) -> s1(plus2(X, Y))
times2(0, Y) -> 0
times2(s1(X), Y) -> plus2(Y, times2(X, Y))
square1(X) -> times2(X, X)
from1(X) -> n__from1(X)
s1(X) -> n__s1(X)
activate1(n__from1(X)) -> from1(activate1(X))
activate1(n__s1(X)) -> s1(activate1(X))
activate1(X) -> X
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
TIMES2(s1(X), Y) -> TIMES2(X, Y)
[TIMES1, s1]
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
from1(X) -> cons2(X, n__from1(n__s1(X)))
2ndspos2(0, Z) -> rnil
2ndspos2(s1(N), cons2(X, Z)) -> 2ndspos2(s1(N), cons22(X, activate1(Z)))
2ndspos2(s1(N), cons22(X, cons2(Y, Z))) -> rcons2(posrecip1(Y), 2ndsneg2(N, activate1(Z)))
2ndsneg2(0, Z) -> rnil
2ndsneg2(s1(N), cons2(X, Z)) -> 2ndsneg2(s1(N), cons22(X, activate1(Z)))
2ndsneg2(s1(N), cons22(X, cons2(Y, Z))) -> rcons2(negrecip1(Y), 2ndspos2(N, activate1(Z)))
pi1(X) -> 2ndspos2(X, from1(0))
plus2(0, Y) -> Y
plus2(s1(X), Y) -> s1(plus2(X, Y))
times2(0, Y) -> 0
times2(s1(X), Y) -> plus2(Y, times2(X, Y))
square1(X) -> times2(X, X)
from1(X) -> n__from1(X)
s1(X) -> n__s1(X)
activate1(n__from1(X)) -> from1(activate1(X))
activate1(n__s1(X)) -> s1(activate1(X))
activate1(X) -> X
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
2NDSNEG2(s1(N), cons22(X, cons2(Y, Z))) -> 2NDSPOS2(N, activate1(Z))
2NDSNEG2(s1(N), cons2(X, Z)) -> 2NDSNEG2(s1(N), cons22(X, activate1(Z)))
2NDSPOS2(s1(N), cons22(X, cons2(Y, Z))) -> 2NDSNEG2(N, activate1(Z))
2NDSPOS2(s1(N), cons2(X, Z)) -> 2NDSPOS2(s1(N), cons22(X, activate1(Z)))
from1(X) -> cons2(X, n__from1(n__s1(X)))
2ndspos2(0, Z) -> rnil
2ndspos2(s1(N), cons2(X, Z)) -> 2ndspos2(s1(N), cons22(X, activate1(Z)))
2ndspos2(s1(N), cons22(X, cons2(Y, Z))) -> rcons2(posrecip1(Y), 2ndsneg2(N, activate1(Z)))
2ndsneg2(0, Z) -> rnil
2ndsneg2(s1(N), cons2(X, Z)) -> 2ndsneg2(s1(N), cons22(X, activate1(Z)))
2ndsneg2(s1(N), cons22(X, cons2(Y, Z))) -> rcons2(negrecip1(Y), 2ndspos2(N, activate1(Z)))
pi1(X) -> 2ndspos2(X, from1(0))
plus2(0, Y) -> Y
plus2(s1(X), Y) -> s1(plus2(X, Y))
times2(0, Y) -> 0
times2(s1(X), Y) -> plus2(Y, times2(X, Y))
square1(X) -> times2(X, X)
from1(X) -> n__from1(X)
s1(X) -> n__s1(X)
activate1(n__from1(X)) -> from1(activate1(X))
activate1(n__s1(X)) -> s1(activate1(X))
activate1(X) -> X
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
2NDSNEG2(s1(N), cons22(X, cons2(Y, Z))) -> 2NDSPOS2(N, activate1(Z))
2NDSPOS2(s1(N), cons22(X, cons2(Y, Z))) -> 2NDSNEG2(N, activate1(Z))
Used ordering: Combined order from the following AFS and order.
2NDSNEG2(s1(N), cons2(X, Z)) -> 2NDSNEG2(s1(N), cons22(X, activate1(Z)))
2NDSPOS2(s1(N), cons2(X, Z)) -> 2NDSPOS2(s1(N), cons22(X, activate1(Z)))
[nfrom1, from1] > [2NDSNEG1, s1, ns1] > 2NDSPOS1 > cons2
s1(X) -> n__s1(X)
activate1(n__from1(X)) -> from1(activate1(X))
activate1(n__s1(X)) -> s1(activate1(X))
activate1(X) -> X
from1(X) -> cons2(X, n__from1(n__s1(X)))
from1(X) -> n__from1(X)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
2NDSNEG2(s1(N), cons2(X, Z)) -> 2NDSNEG2(s1(N), cons22(X, activate1(Z)))
2NDSPOS2(s1(N), cons2(X, Z)) -> 2NDSPOS2(s1(N), cons22(X, activate1(Z)))
from1(X) -> cons2(X, n__from1(n__s1(X)))
2ndspos2(0, Z) -> rnil
2ndspos2(s1(N), cons2(X, Z)) -> 2ndspos2(s1(N), cons22(X, activate1(Z)))
2ndspos2(s1(N), cons22(X, cons2(Y, Z))) -> rcons2(posrecip1(Y), 2ndsneg2(N, activate1(Z)))
2ndsneg2(0, Z) -> rnil
2ndsneg2(s1(N), cons2(X, Z)) -> 2ndsneg2(s1(N), cons22(X, activate1(Z)))
2ndsneg2(s1(N), cons22(X, cons2(Y, Z))) -> rcons2(negrecip1(Y), 2ndspos2(N, activate1(Z)))
pi1(X) -> 2ndspos2(X, from1(0))
plus2(0, Y) -> Y
plus2(s1(X), Y) -> s1(plus2(X, Y))
times2(0, Y) -> 0
times2(s1(X), Y) -> plus2(Y, times2(X, Y))
square1(X) -> times2(X, X)
from1(X) -> n__from1(X)
s1(X) -> n__s1(X)
activate1(n__from1(X)) -> from1(activate1(X))
activate1(n__s1(X)) -> s1(activate1(X))
activate1(X) -> X